题意: $n$快木板,合成$k$块木板。相同高度可以合并,不同高度,需要把高的木板砍成和低的木板一样高。问合成$k$块最少浪费多大木板面积。
题解: dp[i][j]
表示前j
个合成i
个木板最小花费面积。转移方程为
其中$w$表示表示宽度前缀和,$sum$表示面积前缀和,转移的贡献就是,
假设从$k$转移优于$l$,有如下:
合并同类项化简,
典型的斜率优化DP
1 |
|
两件事一定不能停 学习和运动
题意: $n$快木板,合成$k$块木板。相同高度可以合并,不同高度,需要把高的木板砍成和低的木板一样高。问合成$k$块最少浪费多大木板面积。
题解: dp[i][j]
表示前j
个合成i
个木板最小花费面积。转移方程为
其中$w$表示表示宽度前缀和,$sum$表示面积前缀和,转移的贡献就是,
假设从$k$转移优于$l$,有如下:
合并同类项化简,
典型的斜率优化DP
1 | #include "bits/stdc++.h" |